/* Copyright (c) 2025 Beijing Semidrive Technology Corporation
 * SPDX-License-Identifier: Apache-2.0
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * @file EthTrcv_PBCfg.c
 * @brief EthTrcv Configuration.
 * @details Semidrive. AUTOSAR 4.3.1 EthTrcv plugins
 * @date 2025-03-25 19:03:22
 */

#ifdef __cplusplus
extern "C" {
#endif

#include "EthTrcv.h"
#include "EthTrcv_PBCfg.h"

/* Version and Check Begin */
/* Version Info Begin */
#define ETHTRCV_PBCFG_C_VENDOR_ID    0x8C
#define ETHTRCV_PBCFG_C_AR_RELEASE_MAJOR_VERSION    4
#define ETHTRCV_PBCFG_C_AR_RELEASE_MINOR_VERSION    3
#define ETHTRCV_PBCFG_C_AR_RELEASE_REVISION_VERSION 1
#define ETHTRCV_PBCFG_C_SW_MAJOR_VERSION    1
#define ETHTRCV_PBCFG_C_SW_MINOR_VERSION    0
#define ETHTRCV_PBCFG_C_SW_PATCH_VERSION    0
/* Version Info End */

/* Version Check Begin */
#if !defined(DISABLE_MCAL_ASR_VER_CHECK)
#if ((ETHTRCV_PBCFG_C_AR_RELEASE_MAJOR_VERSION != ETHTRCV_AR_RELEASE_MAJOR_VERSION)\
    || (ETHTRCV_PBCFG_C_AR_RELEASE_MINOR_VERSION != ETHTRCV_AR_RELEASE_MINOR_VERSION)\
    || (ETHTRCV_PBCFG_C_AR_RELEASE_REVISION_VERSION != ETHTRCV_AR_RELEASE_REVISION_VERSION))
    #error "Opps, EthTrcv_PBCfg.c and EthTrcv.h AutoSAR version not match!"
#endif
#endif  /* !DISABLE_MCAL_ASR_VER_CHECK */
#if !defined(DISABLE_MCAL_SW_VER_CHECK)
#if ((ETHTRCV_PBCFG_C_SW_MAJOR_VERSION != ETHTRCV_SW_MAJOR_VERSION)\
    || (ETHTRCV_PBCFG_C_SW_MINOR_VERSION != ETHTRCV_SW_MINOR_VERSION)\
    || (ETHTRCV_PBCFG_C_SW_PATCH_VERSION != ETHTRCV_SW_PATCH_VERSION))
    #error "Opps, EthTrcv_PBCfg.c and EthTrcv.h Software version not match!"
#endif
#endif  /* !DISABLE_MCAL_SW_VER_CHECK */
/* Version Check End */


#define ETHTRCV_START_SEC_CONST_UNSPECIFIED
#include "EthTrcv_MemMap.h"


CONST(EthTrcvConfigType, ETH_CONST) EthTrcvConfig_Core0[1] = {
    {
        .AutoNegotiation = (boolean)FALSE,
        .ConnNegMode = TRCV_CONN_NEG_MASTER,
        .DuplexMode = ETHTRCV_DUPLEX_MODE_FULL,
        .Speed = TRCV_SPEED_1000,
        .TrcvIdx = 0U,
        .CtrlIdx = 0U,
        .PhyAddr = 0,
        .PhyIsc45 = (boolean)FALSE,
        .PhyIsSwtPort =   (boolean)FALSE,
        .phy_type = ETHTRCV_TYPE_RTL820F,
    },
};

CONST(EthTrcv_CoreConfigType, ETH_CONST) EthTrcvCoreControlConfig_Core0 = {
    .EthTrcvConfigPtr = EthTrcvConfig_Core0,
    .EthTrcvCount = 1
};

CONST(EthTrcv_ConfigType, ETH_CONST) EthTrcv_Config = {
    .EthTrcvCoreConfig={
        &EthTrcvCoreControlConfig_Core0,
        NULL_PTR,
        NULL_PTR,
        NULL_PTR,
        NULL_PTR
    }
};

#define ETHTRCV_STOP_SEC_CONST_UNSPECIFIED
#include "EthTrcv_MemMap.h"

#ifdef __cplusplus
}
#endif
